package kusterordonio.interfaz;

import java.awt.Color;
import java.awt.event.KeyEvent;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.swing.table.DefaultTableModel;
import kusterordonio.dominio.*;

public class VentanaControlSaludHastaDosAnios extends javax.swing.JFrame {
    
    private SistemaCarne modelo;
    private Ninio niño;
    private FuncionesAuxiliares funcAux;
    private DefaultTableModel tabla;
    private Persona actor;
    private boolean caso;

    /** Creates new form VentanaControlSaludHastaDosAnios */
    public VentanaControlSaludHastaDosAnios() {
        initComponents();
    }
    
    public VentanaControlSaludHastaDosAnios(SistemaCarne unSistema, Ninio unNiño, FuncionesAuxiliares unaFunc, Persona unActor, boolean unCaso) {
        modelo = unSistema;
        niño = unNiño;
        funcAux = unaFunc;
        tabla = new DefaultTableModel();
        actor = unActor;
        caso = unCaso;
        initComponents();
        controlGenero();
        cargarDatos();
        cargarEncabezados();
        cargarTabla();
        controlCaso();
        jBtnSalir.setMnemonic(KeyEvent.VK_S);
        jBtnConfirmar.setMnemonic(KeyEvent.VK_C);
        jLabelErrores.setVisible(false);
        jLabelErrorFecha.setVisible(false);
        jLabelErrorProximo.setVisible(false);
        jLabelValoresIncorrectos.setVisible(false);
        jDateFecha.setMaxSelectableDate(Calendar.getInstance().getTime());
        jDateFecha.setMinSelectableDate(niño.getFechaNac());
        jDateProximo.setMinSelectableDate(niño.getFechaNac());
    }

    @SuppressWarnings("unchecked")
    
    //setea los elementos de la ventana según el rol del actor
    public void controlCaso(){
        jTextPeso.setEditable(caso);
        jTextPeso.setVisible(caso);
        jTextTalla.setEditable(caso);
        jTextTalla.setVisible(caso);
        jTextPc.setEditable(caso);
        jTextPc.setVisible(caso);
        jTextObs.setEditable(caso);
        jTextObs.setVisible(caso);
        jCheckArt.setEnabled(caso);
        jCheckArt.setVisible(caso);
        jCheckFe.setEnabled(caso);
        jCheckFe.setVisible(caso);
        jCheckPde.setEnabled(caso);
        jCheckPde.setVisible(caso);
        jCheckVitD.setEnabled(caso);
        jCheckVitD.setVisible(caso);
        jDateFecha.setEnabled(caso);
        jDateFecha.setVisible(caso);
        jDateProximo.setEnabled(caso);
        jDateProximo.setVisible(caso);
        jBtnConfirmar.setVisible(caso);
        jScrollPane2.setVisible(caso);
        jScrollPane3.setVisible(caso);
        jScrollPane4.setVisible(caso);
        jScrollPane5.setVisible(caso);
        jTextField1.setVisible(caso);
        jTextField3.setVisible(caso);
        jTextField4.setVisible(caso);
        jTextField5.setVisible(caso);
        jTextField6.setVisible(caso);
        jTextField7.setVisible(caso);
        jTextField8.setVisible(caso);
        if(!caso)
            jScrollPane1.setBounds(20, 80, 850, 360);
    }
    
    //Carga los encabezados de la tabla
    public void cargarEncabezados(){
        tabla.addColumn("Fecha");
        tabla.addColumn("Edad");
        tabla.addColumn("Peso");
        tabla.addColumn("Talla");
        tabla.addColumn("PC");
        tabla.addColumn("PDE");
        tabla.addColumn("Art.");
        tabla.addColumn("FE");
        tabla.addColumn("Vit. D");
        tabla.addColumn("Observaciones");
        tabla.addColumn("Próximo Control");
        tabla.addColumn("Médico");
     }
    
     public void cargarTabla(){
        if(!niño.getCarne().esVaciaControlSaludHastaDos()){
            //Despejamos la tabla para volver a cargarla
            int row = tabla.getRowCount();
            if(tabla.getRowCount() != 0){
                 while(row> 0){
                     tabla.removeRow(0);
                     row--;
                 }
            }
            //Cargamos la tabla
            ArrayList<ControlSaludHastaDosAnios> lista= niño.getCarne().getControlDeSaludHastaDos();
            SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
            for(int i=0; i<lista.size(); i++){
                Object[] linea = new Object[12]; 
                linea[0] = formato.format(lista.get(i).getFecha()); 
                linea[1] = funcAux.muestraEdad(lista.get(i).getEdad()); 
                linea[2] = lista.get(i).getPeso(); 
                linea[3] = lista.get(i).getTalla();
                linea[4] = lista.get(i).getPerimetroCraneal();
                if (lista.get(i).isAlimentacionPde()) linea[5] = "Sí";
                if (lista.get(i).isAlimentacionArtificial()) linea[6] = "Sí";
                if (lista.get(i).isHierro()) linea[7] = "Sí";
                if (lista.get(i).isVitD()) linea[8] = "Sí";
                linea[9] = lista.get(i).getObservaciones();
                linea[10] = formato.format(lista.get(i).getProximoCont());
                linea[11] = lista.get(i).getMedico();
                tabla.addRow(linea);
            }
        }
        jTable1.setModel(tabla);
        jTable1.getColumnModel().getColumn(0).setMaxWidth(70);
        jTable1.getColumnModel().getColumn(1).setMaxWidth(100);
        jTable1.getColumnModel().getColumn(2).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(3).setMaxWidth(35);
        jTable1.getColumnModel().getColumn(4).setMaxWidth(30);
        jTable1.getColumnModel().getColumn(5).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(6).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(7).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(8).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(9).setMaxWidth(200);
        jTable1.getColumnModel().getColumn(10).setMaxWidth(90);
        jTable1.getColumnModel().getColumn(0).setMinWidth(70);
        jTable1.getColumnModel().getColumn(1).setMinWidth(100);
        jTable1.getColumnModel().getColumn(2).setMinWidth(40);
        jTable1.getColumnModel().getColumn(3).setMinWidth(35);
        jTable1.getColumnModel().getColumn(4).setMinWidth(30);
        jTable1.getColumnModel().getColumn(5).setMinWidth(40);
        jTable1.getColumnModel().getColumn(6).setMinWidth(40);
        jTable1.getColumnModel().getColumn(7).setMinWidth(40);
        jTable1.getColumnModel().getColumn(8).setMinWidth(40);
        jTable1.getColumnModel().getColumn(9).setMinWidth(200);
        jTable1.getColumnModel().getColumn(10).setMinWidth(90);
    }
    
    public void controlGenero(){
        if (!niño.isSexo()){
            jLabelTitulo.setForeground(new java.awt.Color(255, 153, 0));
            jLabelTitular.setForeground(new java.awt.Color(255, 153, 0));
            jLabelTitulo.setText("Control de salud de la niña menor de 2 años");
            jLabelValoresIncorrectos.setText(": son incorrectos para la edad de la niña");
            jLabelErrorFecha.setText("Ingrese correctamente la fecha: este control es sólo para niñas hasta dos años");
            jTextField1.setBackground(new java.awt.Color(255, 153, 0));
            jTextField3.setBackground(new java.awt.Color(255, 153, 0));
            jTextField4.setBackground(new java.awt.Color(255, 153, 0));
            jTextField5.setBackground(new java.awt.Color(255, 153, 0));
            jTextField6.setBackground(new java.awt.Color(255, 153, 0));
            jTextField7.setBackground(new java.awt.Color(255, 153, 0));
            jTextField8.setBackground(new java.awt.Color(255, 153, 0));
            jTextPane1.setBackground(new java.awt.Color(255, 153, 0));
            jTextPane2.setBackground(new java.awt.Color(255, 153, 0));
            jTextPane3.setBackground(new java.awt.Color(255, 153, 0));
            jTextPane4.setBackground(new java.awt.Color(255, 153, 0));
        }
    }
    
    public void cargarDatos(){
        this.jLabelNombre.setText(niño.toString());
    }
        
    public void resetearElementos(){
        jTextPeso.setBackground(Color.white);
        jTextTalla.setBackground(Color.white);
        jTextPc.setBackground(Color.white);
        jLabelErrores.setVisible(false);
        jLabelValoresIncorrectos.setVisible(false);
    }
    
    public void resetearErroresFechas(){
        this.jLabelErrorProximo.setVisible(false);
        this.jLabelErrorFecha.setVisible(false);
    }
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabelTitulo = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jTextField3 = new javax.swing.JTextField();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTextPane1 = new javax.swing.JTextPane();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTextPane2 = new javax.swing.JTextPane();
        jScrollPane4 = new javax.swing.JScrollPane();
        jTextPane3 = new javax.swing.JTextPane();
        jTextField4 = new javax.swing.JTextField();
        jTextField5 = new javax.swing.JTextField();
        jTextField6 = new javax.swing.JTextField();
        jTextField7 = new javax.swing.JTextField();
        jTextField8 = new javax.swing.JTextField();
        jScrollPane5 = new javax.swing.JScrollPane();
        jTextPane4 = new javax.swing.JTextPane();
        jDateFecha = new com.toedter.calendar.JDateChooser();
        jTextObs = new javax.swing.JTextField();
        jTextPc = new javax.swing.JTextField();
        jTextTalla = new javax.swing.JTextField();
        jTextPeso = new javax.swing.JTextField();
        jCheckPde = new javax.swing.JCheckBox();
        jCheckArt = new javax.swing.JCheckBox();
        jCheckFe = new javax.swing.JCheckBox();
        jCheckVitD = new javax.swing.JCheckBox();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jBtnConfirmar = new javax.swing.JButton();
        jSeparator1 = new javax.swing.JSeparator();
        jBtnSalir = new javax.swing.JButton();
        jDateProximo = new com.toedter.calendar.JDateChooser();
        jLabelErrores = new javax.swing.JLabel();
        jLabelErrorFecha = new javax.swing.JLabel();
        jLabelErrorProximo = new javax.swing.JLabel();
        jLabelProxCont = new javax.swing.JLabel();
        jLabelFechaCont = new javax.swing.JLabel();
        jLabelValoresIncorrectos = new javax.swing.JLabel();
        jLabelTitular = new javax.swing.JLabel();
        jLabelNombre = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Control de salud menor de 2 años");
        setBounds(new java.awt.Rectangle(200, 100, 0, 0));
        setMinimumSize(new java.awt.Dimension(895, 540));
        setResizable(false);
        getContentPane().setLayout(null);

        jLabelTitulo.setFont(new java.awt.Font("Tahoma", 1, 18));
        jLabelTitulo.setForeground(new java.awt.Color(51, 153, 0));
        jLabelTitulo.setText("Control de salud del niño menor de 2 años");
        getContentPane().add(jLabelTitulo);
        jLabelTitulo.setBounds(20, 20, 430, 30);

        jTextField1.setBackground(new java.awt.Color(51, 153, 0));
        jTextField1.setEditable(false);
        jTextField1.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField1.setForeground(new java.awt.Color(255, 255, 255));
        jTextField1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField1.setText("Fecha");
        jTextField1.setMinimumSize(new java.awt.Dimension(6, 34));
        jTextField1.setPreferredSize(new java.awt.Dimension(0, 34));
        getContentPane().add(jTextField1);
        jTextField1.setBounds(20, 80, 90, 40);

        jTextField3.setBackground(new java.awt.Color(51, 153, 0));
        jTextField3.setEditable(false);
        jTextField3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField3.setForeground(new java.awt.Color(255, 255, 255));
        jTextField3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField3.setText("Alimentación");
        getContentPane().add(jTextField3);
        jTextField3.setBounds(290, 80, 90, 20);

        jTextPane1.setBackground(new java.awt.Color(51, 153, 0));
        jTextPane1.setEditable(false);
        jTextPane1.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextPane1.setForeground(new java.awt.Color(255, 255, 255));
        jTextPane1.setText("      Próximo\n      control");
        jScrollPane2.setViewportView(jTextPane1);

        getContentPane().add(jScrollPane2);
        jScrollPane2.setBounds(670, 80, 90, 40);

        jTextPane2.setBackground(new java.awt.Color(51, 153, 0));
        jTextPane2.setEditable(false);
        jTextPane2.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextPane2.setForeground(new java.awt.Color(255, 255, 255));
        jTextPane2.setText("     PC\n    (cm)");
        jTextPane2.setPreferredSize(new java.awt.Dimension(44, 34));
        jScrollPane3.setViewportView(jTextPane2);

        getContentPane().add(jScrollPane3);
        jScrollPane3.setBounds(230, 80, 60, 40);

        jTextPane3.setBackground(new java.awt.Color(51, 153, 0));
        jTextPane3.setEditable(false);
        jTextPane3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextPane3.setForeground(new java.awt.Color(255, 255, 255));
        jTextPane3.setText("    Talla\n    (cm)");
        jTextPane3.setPreferredSize(new java.awt.Dimension(44, 34));
        jScrollPane4.setViewportView(jTextPane3);

        getContentPane().add(jScrollPane4);
        jScrollPane4.setBounds(170, 80, 60, 40);

        jTextField4.setBackground(new java.awt.Color(51, 153, 0));
        jTextField4.setEditable(false);
        jTextField4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField4.setForeground(new java.awt.Color(255, 255, 255));
        jTextField4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField4.setText("Artificial");
        getContentPane().add(jTextField4);
        jTextField4.setBounds(320, 100, 60, 20);

        jTextField5.setBackground(new java.awt.Color(51, 153, 0));
        jTextField5.setEditable(false);
        jTextField5.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField5.setForeground(new java.awt.Color(255, 255, 255));
        jTextField5.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField5.setText("PDE");
        getContentPane().add(jTextField5);
        jTextField5.setBounds(290, 100, 30, 20);

        jTextField6.setBackground(new java.awt.Color(51, 153, 0));
        jTextField6.setEditable(false);
        jTextField6.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField6.setForeground(new java.awt.Color(255, 255, 255));
        jTextField6.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField6.setText("Hierro");
        getContentPane().add(jTextField6);
        jTextField6.setBounds(380, 80, 50, 40);

        jTextField7.setBackground(new java.awt.Color(51, 153, 0));
        jTextField7.setEditable(false);
        jTextField7.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField7.setForeground(new java.awt.Color(255, 255, 255));
        jTextField7.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField7.setText("Vit. D");
        getContentPane().add(jTextField7);
        jTextField7.setBounds(430, 80, 40, 40);

        jTextField8.setBackground(new java.awt.Color(51, 153, 0));
        jTextField8.setEditable(false);
        jTextField8.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField8.setForeground(new java.awt.Color(255, 255, 255));
        jTextField8.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField8.setText("Observaciones");
        getContentPane().add(jTextField8);
        jTextField8.setBounds(470, 80, 200, 40);

        jTextPane4.setBackground(new java.awt.Color(51, 153, 0));
        jTextPane4.setEditable(false);
        jTextPane4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextPane4.setForeground(new java.awt.Color(255, 255, 255));
        jTextPane4.setText("     Peso\n      (gr)");
        jScrollPane5.setViewportView(jTextPane4);

        getContentPane().add(jScrollPane5);
        jScrollPane5.setBounds(110, 80, 60, 40);

        jDateFecha.setDateFormatString("dd/MM/yyyy");
        getContentPane().add(jDateFecha);
        jDateFecha.setBounds(20, 120, 90, 22);

        jTextObs.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                jTextObsFocusLost(evt);
            }
        });
        getContentPane().add(jTextObs);
        jTextObs.setBounds(470, 120, 200, 22);

        jTextPc.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextPcMouseClicked(evt);
            }
        });
        jTextPc.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jTextPcKeyPressed(evt);
            }
        });
        getContentPane().add(jTextPc);
        jTextPc.setBounds(230, 120, 60, 22);

        jTextTalla.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextTallaMouseClicked(evt);
            }
        });
        jTextTalla.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                jTextTallaKeyPressed(evt);
            }
        });
        getContentPane().add(jTextTalla);
        jTextTalla.setBounds(170, 120, 60, 22);

        jTextPeso.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextPesoMouseClicked(evt);
            }
        });
        jTextPeso.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                jTextPesoFocusLost(evt);
            }
        });
        jTextPeso.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                jTextPesoKeyTyped(evt);
            }
        });
        getContentPane().add(jTextPeso);
        jTextPeso.setBounds(110, 120, 60, 22);

        jCheckPde.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        getContentPane().add(jCheckPde);
        jCheckPde.setBounds(298, 124, 15, 15);

        jCheckArt.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        getContentPane().add(jCheckArt);
        jCheckArt.setBounds(342, 124, 15, 15);

        jCheckFe.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        getContentPane().add(jCheckFe);
        jCheckFe.setBounds(398, 124, 15, 15);

        jCheckVitD.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        getContentPane().add(jCheckVitD);
        jCheckVitD.setBounds(444, 124, 15, 15);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN);
        jScrollPane1.setViewportView(jTable1);

        getContentPane().add(jScrollPane1);
        jScrollPane1.setBounds(20, 180, 850, 260);

        jBtnConfirmar.setText("Confirmar");
        jBtnConfirmar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtnConfirmarActionPerformed(evt);
            }
        });
        getContentPane().add(jBtnConfirmar);
        jBtnConfirmar.setBounds(770, 120, 80, 23);
        getContentPane().add(jSeparator1);
        jSeparator1.setBounds(0, 50, 890, 2);

        jBtnSalir.setText("Salir");
        jBtnSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtnSalirActionPerformed(evt);
            }
        });
        getContentPane().add(jBtnSalir);
        jBtnSalir.setBounds(380, 470, 73, 22);

        jDateProximo.setDateFormatString("dd/MM/yyyy");
        getContentPane().add(jDateProximo);
        jDateProximo.setBounds(670, 120, 90, 22);

        jLabelErrores.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabelErrores.setForeground(new java.awt.Color(255, 0, 0));
        jLabelErrores.setText("Hay valores inválidos en los campos marcados en rojo");
        getContentPane().add(jLabelErrores);
        jLabelErrores.setBounds(20, 60, 305, 20);

        jLabelErrorFecha.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabelErrorFecha.setForeground(new java.awt.Color(255, 0, 0));
        jLabelErrorFecha.setText("Ingrese correctamente la fecha: este control es sólo para niños hasta 2 años");
        getContentPane().add(jLabelErrorFecha);
        jLabelErrorFecha.setBounds(20, 140, 460, 20);

        jLabelErrorProximo.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabelErrorProximo.setForeground(new java.awt.Color(255, 0, 0));
        jLabelErrorProximo.setText("Próximo control no debe ser anterior a fecha control");
        getContentPane().add(jLabelErrorProximo);
        jLabelErrorProximo.setBounds(500, 140, 320, 20);

        jLabelProxCont.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jLabelProxContMouseEntered(evt);
            }
        });
        getContentPane().add(jLabelProxCont);
        jLabelProxCont.setBounds(660, 110, 110, 40);

        jLabelFechaCont.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jLabelFechaContMouseEntered(evt);
            }
        });
        getContentPane().add(jLabelFechaCont);
        jLabelFechaCont.setBounds(10, 110, 110, 40);

        jLabelValoresIncorrectos.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabelValoresIncorrectos.setForeground(new java.awt.Color(255, 0, 0));
        jLabelValoresIncorrectos.setText(": son incorrectos para la edad del niño");
        getContentPane().add(jLabelValoresIncorrectos);
        jLabelValoresIncorrectos.setBounds(326, 60, 270, 20);

        jLabelTitular.setFont(new java.awt.Font("Tahoma", 1, 14));
        jLabelTitular.setForeground(new java.awt.Color(51, 153, 0));
        jLabelTitular.setText("Titular:");
        getContentPane().add(jLabelTitular);
        jLabelTitular.setBounds(560, 25, 50, 20);

        jLabelNombre.setFont(new java.awt.Font("Tahoma", 1, 14));
        getContentPane().add(jLabelNombre);
        jLabelNombre.setBounds(620, 25, 220, 20);

        jLabel2.setText("* Peso (gr.) // Talla (cm.) // PC (Perímetro cefálico) (cm.) // PDE (Pecho directo exclusivo) // Art. (Alimentación artficial) // FE (hierro)");
        getContentPane().add(jLabel2);
        jLabel2.setBounds(20, 440, 810, 14);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jBtnConfirmarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnConfirmarActionPerformed
        if(jDateFecha.getDate() != null
                && niño.controlFecha(jDateFecha.getDate())//Fecha control posterior al nacimiento y menor o igual que hoy
                && niño.controlEdad(jDateFecha.getDate(), 730)//Niño menor de 2 años
                && modelo.controlEnteroPos(jTextPeso.getText())
                && modelo.controlEnteroPos(jTextTalla.getText())
                && modelo.controlEnteroPos(jTextPc.getText())
                //Controla valores correctos para la edad 
                && niño.controlMedidasHastaDos(niño.calculoEdad(jDateFecha.getDate()),
                        Integer.parseInt(jTextPeso.getText()),
                        Integer.parseInt(jTextTalla.getText()),
                        Integer.parseInt(jTextPc.getText()))
                && jDateProximo.getDate() != null
                && modelo.comparaFechas(jDateProximo.getDate(),jDateFecha.getDate())){//Próximo control mayor que fecha control
                
                ControlSaludHastaDosAnios nuevo= new ControlSaludHastaDosAnios(jDateFecha.getDate(),
                        niño.calculoEdad(jDateFecha.getDate()),
                        Integer.parseInt(jTextPeso.getText()),
                        Integer.parseInt(jTextTalla.getText()),
                        jDateProximo.getDate(),
                        actor,
                        Integer.parseInt(jTextPc.getText()));
                if(jCheckPde.isSelected())
                        nuevo.setAlimentacionPde(true);
                if(jCheckArt.isSelected())
                        nuevo.setAlimentacionArtificial(true);
                if(jCheckFe.isSelected())
                        nuevo.setHierro(true);
                if(jCheckVitD.isSelected())
                        nuevo.setVitD(true);
                nuevo.setObservaciones(jTextObs.getText());
                niño.getCarne().agregarControlSaludHastaDos(nuevo);
                //vaciar campos
                jDateFecha.setDate(null);
                jTextPeso.setText("");
                jTextTalla.setText("");
                jTextPc.setText("");
                jCheckPde.setSelected(false);
                jCheckArt.setSelected(false);
                jCheckFe.setSelected(false);
                jCheckVitD.setSelected(false);
                jTextObs.setText("");
                jDateProximo.setDate(null);
                cargarTabla();
        }
        else{
            if(jDateFecha.getDate() != null && !niño.controlEdad(jDateFecha.getDate(), 730)){
                jLabelErrorFecha.setVisible(true);
            }
            if(jDateFecha.getDate() == null){
                jLabelErrorFecha.setVisible(true);
                jLabelErrorProximo.setVisible(true);
            }    
            if(jDateFecha.getDate() != null && jDateProximo.getDate() != null
                    && !modelo.comparaFechas(jDateProximo.getDate(),jDateFecha.getDate())){
                jLabelErrorProximo.setVisible(true);
            }
            if(jDateProximo.getDate() == null){
                jLabelErrorProximo.setVisible(true);
            }
            if(!modelo.controlEnteroPos(jTextPeso.getText())){
                jLabelErrores.setVisible(true);
                jTextPeso.setBackground(Color.red);
            }
            if(!modelo.controlEnteroPos(jTextTalla.getText())){
                jLabelErrores.setVisible(true);
                jTextTalla.setBackground(Color.red);
            }
            if(!modelo.controlEnteroPos(jTextPc.getText())){
                jLabelErrores.setVisible(true);
                jTextPc.setBackground(Color.red);
            }
            if(modelo.controlEnteroPos(jTextPeso.getText())
                && modelo.controlEnteroPos(jTextTalla.getText())
                && modelo.controlEnteroPos(jTextPc.getText())){
               if (!niño.controlMedidasHastaDos(niño.calculoEdad(jDateFecha.getDate()),
                        //Controla valores correctos para la edad) 
                        Integer.parseInt(jTextPeso.getText()),
                        Integer.parseInt(jTextTalla.getText()),
                        Integer.parseInt(jTextPc.getText()))){
                   jLabelValoresIncorrectos.setVisible(true);
                   jLabelErrores.setVisible(true);
                   jTextPeso.setBackground(Color.red);
                   jTextTalla.setBackground(Color.red);
                   jTextPc.setBackground(Color.red);
               }
            }
        }
    }//GEN-LAST:event_jBtnConfirmarActionPerformed

    private void jBtnSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnSalirActionPerformed
        this.dispose();
    }//GEN-LAST:event_jBtnSalirActionPerformed

    private void jTextPesoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextPesoMouseClicked
        resetearElementos();
    }//GEN-LAST:event_jTextPesoMouseClicked

    private void jTextTallaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextTallaMouseClicked
        resetearElementos();
    }//GEN-LAST:event_jTextTallaMouseClicked

    private void jTextPcMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextPcMouseClicked
        resetearElementos();
    }//GEN-LAST:event_jTextPcMouseClicked

    private void jLabelProxContMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabelProxContMouseEntered
        resetearErroresFechas();
    }//GEN-LAST:event_jLabelProxContMouseEntered

    private void jLabelFechaContMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabelFechaContMouseEntered
        resetearErroresFechas();
    }//GEN-LAST:event_jLabelFechaContMouseEntered

    private void jTextPesoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextPesoKeyTyped
        resetearElementos();
    }//GEN-LAST:event_jTextPesoKeyTyped

    private void jTextTallaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextTallaKeyPressed
        resetearElementos();
    }//GEN-LAST:event_jTextTallaKeyPressed

    private void jTextPcKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextPcKeyPressed
        resetearElementos();
    }//GEN-LAST:event_jTextPcKeyPressed

    private void jTextObsFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextObsFocusLost
        resetearErroresFechas();
    }//GEN-LAST:event_jTextObsFocusLost

    private void jTextPesoFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextPesoFocusLost
        resetearErroresFechas();
    }//GEN-LAST:event_jTextPesoFocusLost
  
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jBtnConfirmar;
    private javax.swing.JButton jBtnSalir;
    private javax.swing.JCheckBox jCheckArt;
    private javax.swing.JCheckBox jCheckFe;
    private javax.swing.JCheckBox jCheckPde;
    private javax.swing.JCheckBox jCheckVitD;
    private com.toedter.calendar.JDateChooser jDateFecha;
    private com.toedter.calendar.JDateChooser jDateProximo;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabelErrorFecha;
    private javax.swing.JLabel jLabelErrorProximo;
    private javax.swing.JLabel jLabelErrores;
    private javax.swing.JLabel jLabelFechaCont;
    private javax.swing.JLabel jLabelNombre;
    private javax.swing.JLabel jLabelProxCont;
    private javax.swing.JLabel jLabelTitular;
    private javax.swing.JLabel jLabelTitulo;
    private javax.swing.JLabel jLabelValoresIncorrectos;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    private javax.swing.JTextField jTextField5;
    private javax.swing.JTextField jTextField6;
    private javax.swing.JTextField jTextField7;
    private javax.swing.JTextField jTextField8;
    private javax.swing.JTextField jTextObs;
    private javax.swing.JTextPane jTextPane1;
    private javax.swing.JTextPane jTextPane2;
    private javax.swing.JTextPane jTextPane3;
    private javax.swing.JTextPane jTextPane4;
    private javax.swing.JTextField jTextPc;
    private javax.swing.JTextField jTextPeso;
    private javax.swing.JTextField jTextTalla;
    // End of variables declaration//GEN-END:variables
}
